#pragma once

#include "NFComm/NFPluginModule/NFIOfflineHandleModule.h"

class NFINetModule;
class NFIOfflineModule;
class NFILogModule;

class NFCOfflineHandleModule : public NFIOfflineHandleModule
{
public:
    NFCOfflineHandleModule(NFIPluginManager* p)
    {
        pPluginManager = p;
    }

    virtual bool Init();
    virtual bool AfterInit();
    virtual bool Execute();
    virtual bool BeforeShut();
    virtual bool Shut();
    virtual bool Finalize();
public:
    void OnOfflineDataProcess(const int nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen);
protected:
    NFINetModule* m_pNetModule = nullptr;
    NFIOfflineModule* m_pOfflineModule = nullptr;
    NFILogModule* m_pLogModule = nullptr;
};
